function handle2Arr(obj) {
  // 提取对象的所有的keys,返回是一个数组
  let pieKeys = Object.keys(obj)
  // 如果有name属性则，遍历
  if (pieKeys.indexOf('name') !== -1) {
    obj.name.forEach((keyname, index) => {
      pieData.push({
        name: keyname,
        value: obj.value[index]
      })
    })
    return
  }
  // 如果没有name,对每一个子对象进行遍历递归
  if (pieKeys.indexOf('name') === -1) {
    pieKeys.forEach(item => {
      handle2Arr(obj[item])
    })
  }
}
let saleRank = {
  online: {
    name: ['家用电器', '食用酒水', '个护健康', '服饰箱包', '母婴产品', '其他'],
    value: [244, 321, 301, 41, 111, 69]
  },
  shop: {
    name: ['家用电器', '食用酒水', '个护健康', '服饰箱包', '母婴产品', '其他'],
    value: [68, 15, 41, 56, 70, 25, 31]
  }
}
let pieData = []
handle2Arr(saleRank)
console.log(pieData)
